As in traditional Unix, the filesystem is very important
under HURD. Devices are represented by special files in
the /dev directory and it is possible to mount filesystems
by using the settrans command, which sets up a
translator on
a directory.
A choice of two popular filesystems are available for disc-based filesystems: The ext2 filing system that was developed for Linux by Remy Card and the ufs filing system which has a BSD heritage. The nfs filesystem [#!nfs!#] is provided for accessing remote filesystem servers. Both the ext2 and ufs servers use the storeio server. In its turn, the storeio server communicates with a device directly, or with a file on a filesystem. The nfs server communicates with either the pfinet or the pflocal servers and could be run over other protocol families as servers for them become available.
The symlink and firmlink servers are both called
by and subsequently call the filesystem servers in order to
resolve symbolic and firm links. This completes
the view of a traditional Unix filesystem that a process has.
The communications are summarised in Figure
.